// pages/coupon-list/coupon-list.js

var api = require('../../api.js');
var app = getApp();
var share_count = 0;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgServer :  api.default.img_server,
    pageNum:1,//第几页的数据
    pageSize:15,//一页多少条数据
    coupon_list:[],
    isContinue:true,//是否可以加载更多
    showPop:false,//兑换码弹窗
    valideCode:"",//兑换码
    moneyIcon:api.MONEYICON,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getCouponlist();
  },
  getCouponlist(){
    var page = this;
    wx.showLoading({
      mask: true,
    });
    app.request({
      url: api.default.coupon_list,
      data: {
        //limit: 10,
        pageNum: page.data.pageNum,
        pageSize: page.data.pageSize
      },
      success: function (res) {
        if (res.code == 200) {
          let data = page.data.coupon_list;
          let finalData= data.concat(res.data);
          let tempisContinue = true;
          if(res.data.length == 0){
            tempisContinue= false
          }
          page.setData({
            coupon_list: finalData,
            isContinue:tempisContinue
          });
        }
      },
      complete: function () {
        wx.hideLoading();
      }
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    let page = this;
    page.setData({
      pageNum:0
    });
    page.getCouponlist();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let page = this;
    if(!page.data.isContinue) return;
    page.setData({
      pageNum: page.data.pageNum+1
    });
    page.getCouponlist();
  },
  onClose(){
    this.setData({
      showPop:false,
      popActiveIdx:null
    })
  },
  receiveBefore(e){
    let idx = e.currentTarget.dataset.index;
    this.setData({
      showPop:true,
      popActiveIdx:idx
    })
  },
  onChange(event){
    this.setData({
      valideCode:event.detail
    })
  },
  checkValidCode(){
    let code = this.data.valideCode;
    if(!code){
      wx.showToast({
        title: '请确认兑换码',
        icon:'none'
      })
      return;
    }else{
      this.receive(null,this.data.popActiveIdx,code)
    }
  },
  receive: function (e,idx,code) {
    var page = this;
    let index = null;
    if(!code){
      index = e.currentTarget.dataset.index;
    }else{
      index = idx
    }
    var id = page.data.coupon_list[index].id;
    let type= page.data.coupon_list[index].type;
    // let code ="";
    // if(type==2){
    //   code= e.currentTarget.dataset.code
    // }
    // wx.showLoading({
    //   mask: true,
    // });
    // if (!page.hideGetCoupon) {
    //   page.hideGetCoupon = function (e) {
    //     var url = e.currentTarget.dataset.url || false;
    //     page.setData({
    //       get_coupon_list: null,
    //     });
    //     if (url) {
    //       wx.navigateTo({
    //         url: url,
    //       });
    //     }
    //   };
    // }
    let transferData={ 
      couponId: id,
      type:type
    };
    if(type==2){//兑换券
      transferData.code = code;
    }
    app.request({
      url: api.coupon.receive,
      method:"post",
      data: transferData,
      success: function (res) {
        if (res.code == 200 && res.message == "领取成功") {
          // wx.showToast({
          //   title: '领取成功！',
          //   icon:"success",
          //   duration:2000
          // })
          page.setData({
            showPop: false,
            popActiveIdx: null
          })
        }
      },
      fail:function(){
        wx.showToast({
          title: res.message,
          icon: 'none',
          duration: 2000
        })
      },
      complete(res){
       page.setData({
        valideCode:""
       });
        if (res.data.code == 200 && res.data.message == "领取成功") {
          wx.showToast({
            title: '领取成功！',
            icon: "success",
            duration: 1500
          })
        } else {
          wx.showToast({
            title: res.data.message || res.message,
            icon: 'none',
            duration: 1500
          })
        }
      }
    });
  },
  closeCouponBox: function (e) {
    this.setData({
      get_coupon_list: ""
    });
  }
})